/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  setupFilesAfterEnv: ['<rootDir>/src/test/jest.setup.ts'],
  globalSetup: '<rootDir>/src/test/global.setup.ts',
  globalTeardown: '<rootDir>/src/test/global.teardown.ts',
  testMatch: [
    '**/__tests__/**/*.test.ts'
  ],
  moduleFileExtensions: ['ts', 'js', 'json'],
  transform: {
    '^.+\\.ts$': 'ts-jest'
  },
  clearMocks: true,
  collectCoverage: false,
  testPathIgnorePatterns: [
    '/node_modules/',
    '/dist/',
    '/.nyc_output/'
  ],
  verbose: true,
  roots: ['<rootDir>/src']
};
